import { Controller, Get, Post, Body, Patch, Param, Delete, Query, HttpCode } from '@nestjs/common';
import { UserService } from './user.service';
import { CreateUserDto } from './dto/create-user.dto';
import { UpdateUserDto } from './dto/update-user.dto';


@Controller('user')
export class UserController {
  constructor(private readonly userService: UserService) {}
  /**
  tag
   */
  @Post('/add/tags')
  addTags(@Body() params:{tags: string[], userId:number}) {
    return this.userService.addTags(params);
  }

  /**
   * 新增用户数据
   * @param createUserDto 参数
   * @returns 
   */
  @Post()
  creates(@Body() createUserDto: CreateUserDto) {
    return this.userService.create(createUserDto);
  }
  /**
   * 获取列表数据
   * @param query 查询参数，
   * @param page 当前页码
   * @param pageSize 每页显示条数
   *  @param keyWord 关键字
   * @returns 
   */

  @Get()
  async findAll (@Query() query:{keyWord: string, page: number, pageSize: number}) {
    return  await this.userService.findAll(query);
  }
  
/**
 * 更新根据用户id,跟新数据
 * @param id  用户id
 * @param updateUserDto 参数
 * @returns 
 */
  @Patch(':id')
  update(@Param('id') id: string, @Body() updateUserDto: UpdateUserDto) {
    return this.userService.update(+id, updateUserDto);
  }

  /**
   * 根据用户id 删除用户
   * @param id 用户id
   * @returns 
   */

  @Delete(':id')
  remove(@Param('id') id: string) {
    return this.userService.remove(+id);
  }
}
